package com.aliyun.messagemgt.application.service;

import com.aliyun.messagemgt.dto.OperateLog;
import com.aliyun.messagemgt.dto.query.OperateLogQuery;
import com.aliyun.messagemgt.dto.vo.DepVo;
import com.aliyun.messagemgt.dto.vo.OperateResourceTypeVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Description
 * @Author hzw
 * @Date 2020/12/17 11:12
 * @Version 1.0
 */
public interface OperateLogService {

    /**
     * !!! list查询，返回值统一使用Page（pagehelper）
     * @param operateLogQuery
     * @return
     */
    PageInfo listOperateLog(OperateLogQuery operateLogQuery);

    /**
     * 通过所有者部门查询操作日志列表
     * @param operateLogQuery
     * @return
     */
    List<DepVo> operateLogListOwnerDept(OperateLogQuery operateLogQuery);

    /**
     * 通过资源类型查询操作日志列表
     * @param operateLogQuery
     * @return
     */
    List<OperateResourceTypeVO> operateLogListResourceType(OperateLogQuery operateLogQuery);

    /**
     * 保存操作日志
     * @param operateLog
     * @return
     */
    int insertOperateLog(OperateLog operateLog);
    /**
     * 统计操作日志量
     * @param operateLogQuery
     * @return
     */
    int countOperateLog(OperateLogQuery operateLogQuery);

}
